/*
 *
 *  Copyright (C) 2012-2024
 *  All rights reserved, Designed By 杭州连线客信息技术有限公司
 *  注意：
 *  本软件为杭州连线客信息技术有限公司开发研制，未经购买不得使用
 *  购买后可获得全部源代码（禁止转卖、分享、上传到码云、github等开源平台）
 *  一经发现盗用、分享等行为，将追究法律责任，后果自负
 *
 */

package com.lxk.service.ums.api;

import com.lxk.service.core.Result;
import com.lxk.service.ums.request.QueryUserAddressParam;
import com.lxk.service.ums.request.QueryUserParam;
import com.lxk.service.ums.response.UmsUserAddressResponse;
import com.lxk.service.ums.response.UmsUserDto;

import java.util.List;

/**
 * 用户模块
 *
 * @author heyi
 * 2024/8/20
 */
public interface UmsServiceApi {


    /**
     * 查询用户
     *
     * @param userId
     * @return
     */
    Result<UmsUserDto> queryById(Long userId);

    /**
     * 查询用户
     *
     * @param param
     * @return
     */
    Result<UmsUserDto> queryByParam(QueryUserParam param);

    /**
     * ID集合查询用户
     *
     * @param userIdList
     * @return
     */
    Result<List<UmsUserDto>> queryByIdList(List<Long> userIdList);

    /**
     * 根据主键和用户ID查询用户收货地址
     */
    Result<UmsUserAddressResponse> queryUserAddress(QueryUserAddressParam param);

    /**
     * 根据用户ID查询默认的收货地址
     */
    Result<UmsUserAddressResponse> queryDefaultAddress(Long userId);
}
